developer və proqram mühəndisi arasındakı fərqlər
|164 | 1 | 1
əjdahalar googlla
whatsapp - skype - sözaltı etiraf - işəyarayan android və ios proqramları - sözaltı günlük - məhəmməd əmin rəsulzadə ensiklopediyası - dövlət proqramı ilə xaricdə təhsil - instagram - spotify - back-end developer materialları
Yalnız deyilsən!
Bu duyğuların müvəqqəti olduğunu və kömək mövcud olduğunu bilmək vacibdir. Dostlarınıza, ailənizə, profesionallara müraciət etməyiniz vacibdir. Sizi dinləmək və lazım olan dəstəyi təmin etmək istəyən insanlar var.
Sözlük yazarları olaraq səni hər zaman dinləyə bilərik.
Əgər yalnız hiss edirsənsə, qaynar xəttə zəng et:
☎ 860Engineer (Mühəndis) -- tapşırığı həll etməzdən əvvəl niyə və necə daha yaxşı suallarını verir. Arxitektura düşünür, scale olacağını planlaşdırır, trade-off-ları qiymətləndirir. Fokus sistem üzərindədir.
Sərhəd isə əslində qərar vermə səviyyəsindədir:
Developer deyir: "React ilə form yazdım, işləyir."
Mühəndis deyir: "React lazımdır ya vanilla JS kifayətdir? Form validation client-side olsun ya server-side? Accessibility necə olacaq? 10x istifadəçi olsa performans necə dəyişir?"
Bunu tikinti ilə müqayisə etsək — developer bənnadır, plan verilir, tikilir. Mühəndis konstruktordur, planın özünü çəkir, yükü hesablayır, materiala qərar verir.
Amma praktikada bu xətt çox bulanıqdır. Yaxşı bir developer artıq mühəndislik düşüncəsi ilə işləyir, yaxşı bir mühəndis də əlini koddan çəkmir. Əksər şirkətlərdə "Software Engineer" titulu verirlər amma adamın gördüyü iş developer işidir. Əsl fərq titul deyil, düşüncə tərzidir — "işləyir" ilə kifayətlənirsən ya "düzgün işləyir, scale olur, maintain olunur" düşünürsən.
Fundamental bilik üzərində:
Developer əsasən "how" bilir — bu framework-u necə istifadə edim, bu library necə işləyir, bu API-ni necə çağırım. Laravel-də route necə yazılır, React-də state necə idarə olunur. Praktik biliklər, alət bilikləri.
Mühəndis isə "why" və "what happens underneath" bilir. Yəni Laravel-in route sistemi HTTP protokolunun üstündə necə işləyir, React-in virtual DOM niyə mövcuddur və real DOM-dan nə ilə fərqlənir, state dəyişəndə render cycle-da nə baş verir.
Konkret nümunələrlə:
Verilənlər bazası -- Developer: "Eloquent-də where() yazıram, işləyir." Mühəndis: SQL query plan nədir, index niyə lazımdır, N+1 problem nədir, normalization vs denormalization nə vaxt seçilir.
Şəbəkə -- Developer: "API endpoint çağırıram, cavab gəlir." Mühəndis: TCP handshake nədir, DNS necə işləyir, HTTPS-də TLS nə edir, latency haradan yaranır.
Proqramlaşdırma dili -- Developer: "PHP-də array istifadə edirəm." Mühəndis: bu array əslində hash map-dır, memory-də necə saxlanılır, time complexity-si nədir, big O notation.
OS səviyyəsi — Developer: bunun xəbəri yoxdur çox vaxt. Mühəndis: process vs thread, memory management, file system necə işləyir, concurrency problemləri.
Əslində bu Computer Science fundamentals adlanır — data structures, algorithms, operating systems, networking, database theory. Universitetdə mühəndislik fakültəsində bunları öyrədirlər. Developer isə çox vaxt bootcamp və ya self-taught yoldan gəlir, birbaşa framework öyrənir, altındakını bilmir.
Ai üzərində Əlavə bir bir nümünə
Mühəndis Ai Asisted kod yazır, developer ise vibe code yazır.
Nəticədə fərq belə üzə çıxır: hər şey yaxşı işləyəndə developer və mühəndis arasında fərq görünmür. Amma problem olanda -- performans düşəndə, sistem scale olmayanda, qəribə bug çıxanda -- fundamental biliyə sahib olan adam problemi diaqnoz edə bilir, o biri isə Stack Overflow-da və ya AI-dən cavab axtarır.
(baxma: gecə saat 4-də yazdığım məqaləyə bax)
üzv ol